TimesTen表とASCIIファイル間でデータをコピーします。ttBulkCpには、次の2つのモードがあります。
ttBulkCp -i [-cp numTrans | final] [-d errLevel] [-e errorFile] [-m maxErrs] [-sc] [-t errLevel] [-u errLevel] [-v verbosity] [-xp numRows | rollback] [-Cc | -Cnone] [-tformat timeFormat] [-tsformat timeStampFormat] [-dformat | -D dateFormat] [-F firstRow] [-L lastRow] [-N ncharEncoding] [-Q 0|1] [-S errLevel] {-connStr connection_string | DSN} [owner.]tableName [dataFile ...]
ttBulkCp -o [-sc] [-v verbosity] [-A 0|1] [-Cc | -Cnone] [-tformat timeFormat] [-tsformat timeStampFormat] [-dformat | -D dateFormat] [-N ncharEncoding] [-tsprec precision] [-Q 0|1] {-connStr connection_string | DSN} [owner.]tableName [dataFile]
ttBulkCpには次のオプションがあります。
-Cnoneは出力ファイルでのコメントの使用を無効にします。 -Ccは、デフォルトのコメント文字をcに設定します。デフォルトのコメント文字を指定しない場合、シャープ記号(#)が使用されます。-Cオプションの値は、\t(タブ)、または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。 このオプションはCOMMENTCHARファイル属性を上書きします。 注意: このオプションは、オプション・フラグと値の間に空白を入れずに指定する必要があります。 |
|
データ・ストア名、サーバー名とDSN(必要に応じて)および関連する接続属性を含むODBC接続文字列。 |
|
コピーするデータ・ストアのODBCデータソース名を指定します。 |
|
日付書式を設定します。指定できる固定値については、「日付、時刻およびタイムスタンプの値」を参照してください。このオプションはDFORMATファイル属性を上書きします。デフォルトはODBCです。「-tformat」および「-tsformat」も参照してください。 |
|
コピーイン・モードでは、表に挿入する行を含む1つ以上のASCIIファイルのパス名を指定します。ファイルを指定しないと、標準入力が使用されます。単一のハイフン(-)は標準入力を意味するものと理解されます。 コピーアウト・モードでは、行のコピー先のファイルのパス名を指定します。ファイルを指定しないと、標準出力が使用されます。単一のハイフン(-)は標準出力を意味するものと理解されます。 |
|
使用方法についての短いメッセージを出力して終了します。 |
|
使用方法についての長いメッセージを出力して終了します。 |
|
コピーイン・モードを選択します。 |
|
レポートするエラーの最大数。デフォルトは10です。関連エラーがいくつか追加されてレポートされる場合もあります。0の場合、ユーティリティは接続のみを行って戻ります。 |
|
Unicode文字エンコード(ASCIIまたはUTF-8)を指定します。デフォルトはUTF-8です。このオプションはNCHARENCODINGファイル属性を上書きします。 |
|
コピーアウト・モードを選択します。 |
|
保存またはロードする表の所有者を指定します。ownerを省略すると、TimesTenは、まずユーザー名で、次にユーザー名SYSで表を検索します。このパラメータでは大/小文字は区別されません。 |
|
文字列値を二重引用符で囲むかどうかを示します。 0: 文字列を引用符で囲まないことを示します。 1: (デフォルト)文字列を引用符で囲むことを示します。 このオプションはQUOTESファイル属性を上書きします。 |
|
デフォルトのフィールド区切り文字をcに設定します。デフォルトのフィールド区切り文字を指定しない場合、カンマ(,)が使用されます。-sオプションの値は、\t(タブ)、または~ ! @ # % ^ & * ( ) = : ; | < > ? , /のいずれかの文字をとります。 このオプションはFSEPファイル属性を上書きします。 注意: このオプションは、オプション・フラグと値の間に空白を入れずに指定する必要があります。 |
|
保存またはロードする表の名前を指定します。このパラメータでは大/小文字は区別されません。 |
|
時刻書式を設定します。指定できる値は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はODBCです。このオプションはTSFORMATファイル属性を上書きします。「-D | -dformat」および「-tsformat」も参照してください。 |
|
タイムスタンプ書式を設定します。指定できる固定値は、「日付、時刻およびタイムスタンプの値」を参照してください。デフォルト値はDF*TF+FFです。これは、日付書式、時間書式および小数秒を連結したものです。このオプションはTFORMATファイル属性を上書きします。「-D | -dformat」および「-tformat」も参照してください。 |
|
ttBulkCpのリリース番号を出力して終了します。 |
|
冗長レベルを設定します。 0: サマリーを抑制します。 1: (デフォルト)完了時にコピーした行のサマリーを出力します。 |
次のオプションは、コピーアウト・モードでのみ使用できます。
次のオプションは、コピーイン・モードでのみ使用できます。
コピーインのチェックポイント・ポリシーを設定します。0の値は、コピー全体が完了した後にも、ttBulkCpはデータ・ストアのチェックポイントを行わないことを示します。0以外の値は、numTransトランザクションごとに、さらにコピー全体が完了した後に、ttBulkCpがデータ・ストアのチェックポイントを行うことを示します。finalの値は、コピー全体が完了した場合にのみttBulkCpがデータ・ストアのチェックポイントを行うことを示します。デフォルト値は0です。定期的なコミットも有効になっている場合にのみ、定期的なチェックポイントを有効にできます。-xpオプションを参照してください。
| |
デフォルトでは、ttBulkCpは、エラーとなる一意の列や索引での制約違反が原因で拒否される行を無視します。 -d error: 制約違反をエラーとみなすことを指定します。重複行は、maxErrs(-mを参照)に対してカウントされ、エラー・ファイル(-eを参照)に記録されます。 -d warn: ttBulkCpは問題の行をエラー・ファイルにコピーするが、エラーとしてはカウントしないことを指定します。 -d ignore: (デフォルト)ttBulkCpは重複行を暗黙的に無視することを指定します。 -dの設定にかかわらず、重複行は表に挿入されません。 |
|
エラーのためにTimesTen表にコピーできない行に関する情報を、ttBulkCpが記録するファイルの名前を示します。このようなエラーには、解析エラー、型変換エラーおよび制約違反が含まれます。errFileのデフォルト値はstderrです。エラー・ファイルの書式は入力ファイルの書式(「データファイルの書式」を参照)と同じであるため、エラー・ファイルのエラーを修正して、その後のttBulkCpの実行時に、修正したエラー・ファイルを入力ファイルとして使用することもできます。 |
|
コピーする最初の行の番号を示します。このオプションを-Lなどとともに使用して、TimesTen表に行のサブセットをコピーできます。行には、1から始まる番号が付けられます。複数の入力ファイルを指定した場合、行には、すべてのファイルをとおした連続番号が付けられます。デフォルト値は1です。 |
|
コピーする最後の行の番号を示します。-Fの説明を参照してください。0の値は最後の入力ファイルの最後の行を指定します。デフォルト値は0です。 |
|
デフォルトでは、ttBulkCpによってその最大スケールを超える値が検出されると、エラーが発行されます。このエラーは、スケールがその列の最大スケールを超える10進値、または小数秒が6桁を超える(つまり、サブマイクロ秒の粒度)TIMESTAMP値に対して発行されます。 -S error: (デフォルト)ttBulkCpがその最大スケールを超える値を含む行を表に挿入せず、エラーをエラー・ファイルに記録することを指定します。 -S warn: ttBulkCpが行を表に挿入する前に、その最大スケールまで値の右側を切り捨て、警告をエラー・ファイルに記録することを指定します。 -S ignore: ttBulkCpが行を表に挿入する前に、その最大スケールまで値の右側を暗黙的に切り捨てることを指定します。 |
|
デフォルトでは、CHAR、VARCHAR、NCHAR、NVARCHAR、BINARYまたはVARBINARYの値がその最大列幅を超えている場合、ttBulkCpによってエラーが発行されます。 -t error: (デフォルト)長い文字列やbinary属性を含む行はTimesTen表に挿入されず、エラーがエラー・ファイルに記録されることを指定します。 -t warn: 長い文字列やbinary属性は表に挿入される前に最大列長に切り捨てられるが、警告がエラー・ファイルに記録されることを指定します。 -t ignore: 長い文字列やbinary属性は、表に挿入される前に最大列長に暗黙的に切り捨てられることを指定します。 |
|
デフォルトでは、real、floatまたはdouble属性のアンダフロー時に、ttBulkCpはエラーを発行します。アンダフローは、浮動小数点数が非常に小さく、0(ゼロ)に切り捨てられる場合に発生します。 -u error: (デフォルト)アンダーフローしたreal、floatまたはdouble値を含む行はTimesTen表に挿入されず、エラーがエラー・ファイルに記録されることを指定します。 -u warn: アンダフローしたreal、floatまたはdouble属性に0.0が挿入されるが、警告がエラー・ファイルに記録されることを指定します。 -u ignore: アンダフローしたreal、floatまたはdouble属性に、暗黙的に0.0が挿入されることを指定します。 |
|
ロードのトランザクション・ポリシーを設定します。0の値は、ttBulkCpがロード全体を単一のトランザクションとして実行し、ロードの成功、失敗にかかわらず、そのトランザクションをコミットすることを示します。rollbackの値は、ttBulkCpがロード全体を単一のトランザクションとして実行し、ロードが失敗した場合には、そのトランザクションをロールバックすることを示します。0(ゼロ)以外の値は、ttBulkCpがnumRowsの挿入に成功するたびにコミットすることを示します。デフォルト値は1000です。 -xpオプションは、-cpオプションとともに使用して、データ・ストアの定期的なチェックポイントを有効にできます。 |
ttBulkCp入力ファイルの行は、空白行、コメント行、属性行またはデータ行のいずれかです。
属性行の書式は、次のとおりです。
##ttBulkCp[:attribute=value]...コメント文字が#ではない場合でも、通常、属性行は10文字の文字列##ttBulkCpで始まります。この文字列の後には、0(ゼロ)または複数のファイル属性設定を指定できます。それぞれの属性の前には、コロンを付けます。
属性設定が有効なのは、入力ファイルの終わりまで、または同じ入力ファイルで他の属性行によって変更されるまでです。属性行で省略されているファイル属性の値は、変更されません。
コマンドライン・オプションは、ttBulkCpでサポートされるファイル属性の値よりも優先されます。ttBulkCpでサポートされるファイル属性は、次のとおりです。
このオプションは、-sコマンドライン・オプションで上書きされます。
コメント文字は、データファイルでのコメントの使用を無効にする、値noneに設定することもできます。
次のヘッダー行はフィールド・セパレータ文字を$に設定し、文字列を引用符で囲むことを無効にします。
##ttBulkCp:FSEP=$:QUOTES=0次のヘッダー行はコメントを無効にし、日付書式をOracle書式に設定します。
##ttBulkCp:COMMENTCHAR=none:DFORMAT=Oracle次のヘッダー行は、日付書式をカスタム書式に設定します。
##ttBulkCp:DFORMAT='Mon DD, YYYY'
データ行には、コピーされる表の行データが含まれます。各データ行は表の行に対応します。行は複数の入力ファイル行にまたがることはできません。データ行は、フィールド・セパレータ文字によって区切られる、列値のリストで構成されます。フィールド・セパレータの前後に、不要な空白文字を置くことはできません。それぞれの値の書式はその型によって決定されます。
NULL値は、NULL(すべて大文字、引用符なし)、または空のフィールドとして表すことができます。
CHAR、VARCHAR、NCHAR、NVARCHAR: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、文字列および文字は二重引用符で囲む必要があります。文字列を引用符で囲むことが無効になっている場合、文字列の中の二重引用符文字はどれも文字列自体の一部であるとみなされます。文字列を引用符で囲むことが有効になっているかどうかにかかわらず、ttBulkCpでは文字列の中の次のバックスラッシュ・エスケープ文字が認識されます。
また、 ~ ! @ # $ % ^ & * ( ) = : ; | < > ? , /文字のいずれもバックスラッシュでエスケープすることができます。多くの場合、これらの文字をエスケープする必要はありませんが、エスケープすると、文字列を引用符で囲むことが無効になっていても、コメント文字やフィールド・セパレータと解釈されるのを回避できます。
引用符で文字列を囲むことが有効になっている場合、空の文字列(""として表される)はNULLと区別されます。引用符で文字列を囲むことが無効になっている場合、NULLと区別できないため、空の文字列を表すことはできません。
Unicode文字列の場合、UTF-8マルチバイト・シーケンスを使用してエンコードされるUnicode文字は、UTF-8エンコード・モードのみでサポートされます。これらのシーケンスがASCIIエンコード・モードで使用された場合、ttBulkCpはシーケンス内の各バイトを別々の文字として解釈します。
固定長のCHARとNCHARフィールドの場合、フィールド長よりも短い文字列は空白で埋められます。VARCHARおよびNVARCHARフィールドの場合、文字列はデータファイルに指定されているとおり正確にTimesTenに入力されます。後続の空白は追加も削除されません。
BINARY、VARBINARY: 文字列を引用符で囲むことが有効になっている場合(デフォルト)、バイナリ値は中括弧({...})によって区切られます。文字列を引用符で囲むことが無効になっている場合、中括弧は使用されません。文字列を引用符で囲むことが有効になっているかどうかにかかわらず、バイナリ値はオプションの0xまたは0Xで始めることができます。
バイナリ・データの各バイトは、2つの16進数として表されます。たとえば、次のような4バイトのバイナリ文字列があるとします。
01101000 11001010 01001001 11101111
このバイナリ文字列は、次の8文字の16進文字列として表されます。
68CA49EF
AからFの文字によって表される数字は、大文字でも小文字でもかまいません。16進文字列は空白を含むことができません。16進文字列の文字の各対が単一のバイナリ・バイトに変換されるため、16進文字列には偶数の文字が含まれている必要があります。固定長バイナリ・フィールドでは、指定された値が列長よりも短い場合、値の右側に0(ゼロ)が埋め込まれます。バイナリ値の場合、バイナリ値はデータファイルに指定されているとおり正確にTimesTenに挿入されます。
文字列を引用符で囲むことが有効になっている場合、長さが0(ゼロ)のバイナリ値({ }として表される)はNULLと区別されます。文字列を引用符で囲むことが無効になっている場合、NULLと区別できないため、長さが0(ゼロ)のバイナリ値を表すことはできません。
TINYINT、SMALLINT、INTEGER、BIGINT: 整数値は、オプションの符号とその後に続く1つ以上の数字で構成されます。整数値では、E表記法は使用できません。次に例を示します。
REAL、FLOAT、DOUBLE: 浮動小数点値は小数点の有無にかかわらず表すことができ、E表記法を使用することもできます。次に例を示します。
DECIMAL、NUMERIC: 10進値は小数点の有無にかかわらず表すことができます。10進値ではE表記法を使用できません。次に例を示します。
日付、時刻およびタイムスタンプの値は、固定日時書式を選択するか、カスタムの日時書式を定義することによって指定できます。カスタムの日時書式は、TO_DATEおよびTO_CHAR SQL関数で使用されるものに類似した書式指定子を使用して定義されます。次の表を参照してください。
デフォルトのTimesTenの書式(DF*TF+FF)は日付および時刻書式に関して定義されているため、多くの場合、カスタムの日付または時刻書式が使用されている場合にもタイムスタンプ書式を定義する必要はありません。このため、日付書式を設定すると、日付値の書式のみでなく、タイムスタンプ値の日付部分も設定されます。同様に、タイムスタンプ書式を設定すると、時刻値とタイムスタンプ値の時刻部分の両方が影響を受けます。
日付値の場合、固定書式は次のとおりです。
時刻値の場合、固定書式はODBCのみです。
タイムスタンプ値の場合、固定書式は次のとおりです。
デフォルトのタイムスタンプ値は、DF*TF+FFです。
次の入力ファイルは、5つの列(2つのCHAR列と、double列、integer列およびvarbinary列を1つずつ)を持つ表のためのものです。Mountain View行には、最後の3つの列にNULL値が存在することに注意してください。
"New York","New York",-345.09,12,{12EF87A4E5} "Milan","Italy",0,0,{0x458F} "Paris","France",1.4E12,NULL,{F009} "Tokyo","Japan",-4.5E-18,26,{0x00} "Mountain View","California",,,
上記の入力ファイルと同等の入力ファイルを次に示します。このファイルでは、引用符が無効、コメント文字が「$」、フィールド・セパレータが「|」です。
##ttBulkCp:QUOTES=0:COMMENTCHAR=$:FSEP=| $ This is a comment. $$$$$$ So is this. $ The following line is a blank line.
New York|New York|-345.09|12|12EF87A4E5 Milan|Italy|0|0|0x458F Paris|France|1.4E12|NULL|F009 Tokyo|Japan|-4.5E-18|26|0x00 Mountain View|California|||
次のコマンドは、表mytblの内容をデータ・ストアmystoreからファイルmytbl.dumpにダンプします。
ttBulkCp -o DSN=mystore mytbl mytbl.dump次のコマンドは、mytbl.dumpファイルにリストされている行を、データ・ストアmystoreのmytblという表にロードします。エラー・メッセージは、mytbl.errファイルに格納されます。
ttBulkCp -i -e mytbl.err DSN=mystore mytbl mytbl.dump前述のコマンドは、最初のエラーの発生後に終了します。入力ファイルの終わりまで(または、致命的エラーが発生するまで)コピーを続行させるには、次のように-m 0を使用します。
ttBulkCp -i -e mytbl.err -m 0 DSN=mystore mytbl mytbl.dump制約違反によって発生するエラーを無視するには、-d ignoreを使用します。
ttBulkCp -i -e mytbl.err -d ignore DSN=mystore mytbl mytbl.dump
データ・ストアの不慮の破損を防ぐため、ttBulkCpではOverwriteデータ・ストア属性は明示的に0に設定されます。詳細は、「Overwrite」を参照してください。
浮動小数点数が小さい場合、real、floatまたはdoubleの値は0(ゼロ)に切り捨てられる場合があります。
日付、時刻およびタイムスタンプの書式を設定する場合、入力モードでは不完全または冗長な書式は使用できません。データ型に存在しないフィールド(日付書式の分の指定子など)を参照すると、コピーアウト・モードではエラーを返します。コピーイン・モードでは、それらの指定子の値は無視されます。
ttBulkCpデータファイル内の引用符で囲まれた文字列を無効にする場合は、次の注意事項が適用されます。
UTF-8の場合、NCHARはUTF-8エンコードに変換されてから出力されます。UTF-8入力はNCHARに変換されます。
ASCIIの場合、ASCII文字に対応するNCHAR値はASCIIとして出力されます。ASCII以外のNCHAR値では、エスケープされたUnicode書式が使用されます。
ビューをコピーする場合、ttBulkCpはビューの定義を外部形式にコピーしますが、ビューの移入は行いません。
Windowsでは、このユーティリティはすべてのTimesTen Data ManagerとクライアントDSNで使用できます。